home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1035 / 1035.xpi / chrome / 1clickweather.jar / content / 1clickweather / js / utils / definitions.js < prev    next >
Text File  |  2010-01-05  |  2KB  |  74 lines

  1. // ⌐ 2005 The Weather Channel Interactive, Inc.  All Rights Reserved.
  2.  
  3. Document.prototype.loadXML = function (s) {
  4.  
  5.    // parse the string to a new doc
  6.    var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
  7.  
  8.    // remove all initial children
  9.    while (this.hasChildNodes())
  10.       this.removeChild(this.lastChild);
  11.  
  12.    // insert and import nodes
  13.    for (var i = 0; i < doc2.childNodes.length; i++) {
  14.       this.appendChild(this.importNode(doc2.childNodes[i], true));
  15.    }
  16. };
  17.  
  18. Document.prototype.__defineGetter__("xml", function () {
  19.    return (new XMLSerializer()).serializeToString(this);
  20. });
  21.  
  22. Function.prototype.method = function (name, func) {
  23.     this.prototype[name] = func;
  24.     return this;
  25. };
  26.  
  27. Function.method('inherits', function (parent) {
  28.     var d = {}, p = (this.prototype = new parent());
  29.     this.method('uber', function uber(name) {
  30.         if (!(name in d)) {
  31.             d[name] = 0;
  32.         }        
  33.         var f, r, t = d[name], v = parent.prototype;
  34.         if (t) {
  35.             while (t) {
  36.                 v = v.constructor.prototype;
  37.                 t -= 1;
  38.             }
  39.             f = v[name];
  40.         } else {
  41.             f = p[name];
  42.             if (f == this[name]) {
  43.                 f = v[name];
  44.             }
  45.         }
  46.         d[name] += 1;
  47.         r = f.apply(this, Array.prototype.slice.apply(arguments, [1]));
  48.         d[name] -= 1;
  49.         return r;
  50.     });
  51.     return this;
  52. });
  53.  
  54. // this is kind of obvious
  55. // Gabriel_Comments: This code does not use localization 
  56. DayLookup = {};
  57. DayLookup['Sunday'] = 'Sun';
  58. DayLookup['Monday'] = 'Mon';
  59. DayLookup['Tuesday'] = 'Tue';
  60. DayLookup['Wednesday'] = 'Wed';
  61. DayLookup['Thursday'] = 'Thu';
  62. DayLookup['Friday'] = 'Fri';
  63. DayLookup['Saturday'] = 'Sat';
  64.  
  65. // this hash associates the value of the position in the userconfig.xml to the xul id in the browser
  66. ToolbarLocations = {};
  67. ToolbarLocations['StatusBar'] = 'status-bar';
  68. ToolbarLocations['ToolBar'] = 'toolbar-menubar';
  69. ToolbarLocations['NavBar'] = 'nav-bar';
  70. ToolbarLocations['PersonalToolbar'] = 'PersonalToolbar';
  71. ToolbarLocations['FindToolbar'] = 'FindToolbar';
  72. ToolbarLocations['MenuBar'] = 'main-menubar';
  73.  
  74.